import {onMounted, ref} from 'vue'
import useUserStore from "@/store/modules/user"
import {ElMessage} from 'element-plus'
import * as $common from "@/utils/common";


export  const emailVisible = ref(false)
export  const email = ref('')
export  const code = ref('')
export  const password = ref('')
export  const codeString = ref('验证码')
const store = useUserStore();
let intervalCode = null


export  function showEmail() {
    if (!$common.isEmpty(store.id) && $common.isEmpty(store.email)) {
      // 没有绑定邮箱的用户会弹框
      // emailVisible.value = true;
    }
  }

export  function getCode() {
    if (code.valueString === '验证码') {
      // 获取验证码
      if ($common.isEmpty(email.value)) {
        ElMessage({
          message: '请输入邮箱！',
          type: 'error'
        })
        return
      }
      if (!(/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/.test(email.value))) {
        ElMessage({
          message: '邮箱格式有误！',
          type: 'error'
        })
        return
      }

      // $http.get($constant.baseURL + '/user/getCodeForBind', {
      //   flag: 2,
      //   place: email.value
      // })
      //   .then((res) => {
      //     ElMessage({
      //       message: '验证码已发送，请注意查收！',
      //       type: 'success'
      //     })
      //   })
      //   .catch((error) => {
      //     ElMessage({
      //       message: error.message,
      //       type: 'error'
      //     })
      //   })
      code.valueString = '30'
      intervalCode = setInterval(() => {
        if (code.valueString === '0') {
          clearInterval(intervalCode)
          code.valueString = '验证码'
        } else {
          code.valueString = (parseInt(code.valueString) - 1) + ''
        }
      }, 1000)
    } else {
      ElMessage({
        message: '请稍后再试！',
        type: 'error'
      })
    }
  }

export  function submitDialog() {
    if ($common.isEmpty(email.value)) {
      ElMessage({
        message: '请输入邮箱！',
        type: 'error'
      })
      return
    }
    if (!(/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/.test(email.value))) {
      ElMessage({
        message: '邮箱格式有误！',
        type: 'error'
      })
      return
    }
    if ($common.isEmpty(code.value)) {
      ElMessage({
        message: '请输入验证码！',
        type: 'error'
      })
      return
    }
    if ($common.isEmpty(password.value)) {
      ElMessage({
        message: '请输入密码！',
        type: 'error'
      })
      return
    }

    const params = {
      code: code.value.trim(),
      flag: 2,
      place: email.value.trim(),
      password: $common.encrypt(password.value.trim())
    }
    // $http.post($constant.baseURL + '/user/updateSecretInfo', params, false)
    //   .then((res) => {
    //     if (!$common.isEmpty(res.data)) {
    //       ElMessage({
    //         message: '保存成功！',
    //         type: 'success'
    //       })
    //       store.commit('loadCurrentUser', res.data)
    //       clearEmailDialog()
    //     }
    //   })
    //   .catch((error) => {
    //     ElMessage({
    //       message: error.message,
    //       type: 'error'
    //     })
    //   })
  }

export  function clearEmailDialog() {
    password.value = ''
    code.valueString = '验证码'
    if (intervalCode != null) {
      clearInterval(intervalCode)
      intervalCode = null
    }
    email.value = ''
    code.value = ''
    emailVisible.value = false
  }


